package com.shopping.mall.core.module.type.service;

import com.shopping.mall.base.http.Result;
import com.shopping.mall.core.module.type.entity.Type;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shopping.mall.core.module.type.entity.TypeIds;

import java.util.List;

/**
 * <p>
 * Type服务类
 * </p>
 *
 * @author zzy
 * @date 2021-08-11
 */
public interface TypeService extends IService<Type> {

    /**
    * 分页查询
    * @param current：页码
    * @param size：每页条数
    * @param type：筛选条件
    * @return IPage<Type>
    */
    IPage<Type> getTypePage(Integer current,Integer size,Type type);

    /**
    * 查询所有
    * @param type：筛选条件
    * @return List<Type>
    */
    List<Type> getAll(Type type);

    /**
    * 通过id删除
    * @param id：typeId
    * @return Result<Object>
    */
    Result<Object> deleteById(String id);

    /**
    * 批量删除
    * @param ids：id列表
    * @return Result<Object>
    */
    Result<Object> batchDelete(List<String> ids);

    /**
     * 新增
     * @param type ：类型
     * @return Result<Object>
     */
    Result<Object> add(Type type);

    /**
     * 树型结构查询所有
     * @return Result<List<Type>>
     */
    Result<List<Type>> getTree();

    /**
     * 排序
     * @param ids
     */
    void order(TypeIds ids);
}
